package com.ziytek.web.citizen.service.itf;

import com.ziytek.web.citizen.model.bean.BatteriesDetails;
import com.ziytek.web.citizen.model.bean.DetailsData;
import com.ziytek.web.citizen.model.bean.OneDetails;

import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;

/**
 * @author fenghx
 * @version 1.0
 * @className BatteriesDetailsService
 * Description: 电池详情数据解析
 * @date 2024/3/27 14:01
 */
public interface BatteriesDetailsService {
    /**
     * 单个电池电芯数据详情解析
     *
     * @param originalData 原始数据
     * @param lineCode     lineCode
     * @param time         time
     * @return List<DetailsData>
     */
    CompletableFuture<List<BatteriesDetails>> getOneBatteriesDetails(String originalData, String lineCode, Long time);

    /**
     * 电池数据详情解析
     *
     * @param originalData 原始数据
     * @param lineCode     lineCode
     * @param key          key
     * @param time         time
     * @return DetailsData
     */
    CompletableFuture<DetailsData> getBatteriesDetails(String originalData, String lineCode, String key, Long time);

    /**
     * 电池数据详情解析
     *
     * @param originalData 原始数据
     * @param cabinetCode  cabinetCode
     * @return DetailsData
     */
    Map<String, OneDetails> getAllBatteriesDetails(String originalData, String cabinetCode);


    /**
     * 电池容量数据详情解析
     *
     * @param originalData 原始数据
     * @param cabinetCode  cabinetCode
     * @return DetailsData
     */
    Map<String, Float> getAllCapacityDetails(String originalData, String cabinetCode);
}
